1. Field of the Invention
The present invention generally relates to computer systems, and more particularly to an inexpensive mechanism for sending alerts when a networked computer system (client) or an element of a computer network begins to go off line due to a power interruption.
2. Description of Related Art
A typical structure for a conventional computer system includes one or more processing units connected to a system memory device (random access memory or RAM) and to various peripheral, or input/output (I/O), devices such as a display monitor, a keyboard, a graphical pointer (mouse), and a permanent storage device (hard disk). The system memory device is used by a processing unit in carrying out program instructions, and stores those instructions as well as data values that are fed to or generated by the programs. A processing unit communicates with the other components by various means, including one or more interconnects (buses), or direct memory-access channels. A computer system may have many additional components, such as serial and parallel ports and expansion slots for connection to, e.g., printers and network adapters. Other components might further be used in conjunction with the foregoing; for example, a display adapter might be used to control a video display monitor, a memory controller can be used to access the system memory, etc.
Computers can be interconnected in a variety of ways, one common approach being a client-server network. A generalized client-server computing network 2 is shown in FIG. 1. Network 2 has several nodes or servers 4, 6, 8 and 10 which are interconnected, either directly to each other or indirectly through one of the other servers. Each server is essentially a stand-alone computer system as described above (having one or more processors, memory devices, storage devices and communications devices), but has been adapted (programmed) for one primary purpose, that of providing information to individual users at another set of nodes, or workstation clients 12. Clients 12 can also be fully functional, stand-alone computer systems (like personal computers, or PCs), or so-called "dumber" systems adapted for limited use with network 2 (like network computers, or NCs). A single, physical computer can act as both a server and a client, although this implementation occurs infrequently.
A client is generally a member of a class or group of computers or computer systems that uses the services of another class or group to which it is not related. A client can also be thought of as a process (i.e., a program or task) that requests a service which is provided by another program. The client process uses the requested service without having to "know" any working details about the other program or the service itself. Based upon requests by the user, a server presents filtered electronic information to the user as server responses to the client process.
The information provided by a server can be in the form of programs which run locally on a given client 12, or in the form of data such as files that are used by other programs. Users can also communicate with each other in real-time as well as by delayed file delivery, i.e., users connected to the same server can all communicate with each other without the need for the complete network 2, and users at different servers, such as servers 4 and 6, can communicate with each other via network 2. The network can be local in nature, or can be further connected to other systems (not shown) as indicated with servers 8 and 10. The construction of network 2 is also generally applicable to the Internet.
In the early years of computer processing when computer networks were based on mainframes connected to "dumb" terminals at remote locations, an information systems (IS) manager had complete control over the network. The PC revolution then occurred, which unleashed tremendous processing power on the desktop. PCs are often used as network print servers, file servers, or bridges (routers). As PCs move from terminal replacements to an integral part of the network, the need for overall system availability is increasing. The IS manager cannot afford downtime and costly service calls.
However, given that many networks contains PCs which are not fault tolerant, the IS manager must deal with periodic interruptions to services. Advance warning of interruptions, and in particular power interruptions, would improve the ability to respond and minimize the impact. The concept of preventing downtime and early warning has been implemented in mainframes and servers. To prevent or provide warning of down time, a variety of devices are used, including redundant systems, maintenance cards, or an un-interruptible power supply (UPS). However the costs of such solutions are generally prohibitive in PC (workstation) clients.
What is needed is an effective and inexpensive mechanism to provide advance warning of interruptions. It would be desirable to provide such a solution that could use existing network infrastructures, with standard network protocols and software. It would be further advantageous if the solution could detect a power loss and send an alert while a PC is losing power.